home *** CD-ROM | disk | FTP | other *** search
/ Borland JBuilder 6 / jbuilder6.iso / IBM VisualAge for Java Enterprise v4.0 Retail / ivj40 / setup / IDE.Cab / F83912_RecursivePreorderTreeTraversal.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-07-14  |  910 b   |  41 lines

  1. package com.ibm.xml.parser.util;
  2.  
  3. import com.ibm.xml.parser.EndTraversalException;
  4. import com.ibm.xml.parser.ToNextSiblingTraversalException;
  5. import com.ibm.xml.parser.TreeTraversal;
  6. import com.ibm.xml.parser.Visitee;
  7. import com.ibm.xml.parser.Visitor;
  8. import org.w3c.dom.Node;
  9.  
  10. public class RecursivePreorderTreeTraversal extends TreeTraversal {
  11.    boolean endTraversal = false;
  12.  
  13.    public RecursivePreorderTreeTraversal(Visitor var1) {
  14.       super(var1);
  15.       this.endTraversal = false;
  16.    }
  17.  
  18.    public void traverse(Node var1) throws Exception {
  19.       try {
  20.          if (var1 != null && !this.endTraversal) {
  21.             try {
  22.                ((Visitee)var1).acceptPre(((TreeTraversal)this).getVisitor());
  23.  
  24.                for(Node var2 = var1.getFirstChild(); var2 != null && !this.endTraversal; var2 = var2.getNextSibling()) {
  25.                   this.traverse(var2);
  26.                }
  27.             } catch (ToNextSiblingTraversalException var3) {
  28.             }
  29.  
  30.             if (!this.endTraversal) {
  31.                ((Visitee)var1).acceptPost(((TreeTraversal)this).getVisitor());
  32.                return;
  33.             }
  34.          }
  35.       } catch (EndTraversalException var4) {
  36.          this.endTraversal = true;
  37.       }
  38.  
  39.    }
  40. }
  41.